package com.xinbochuang.machine.admin.service.plan;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xinbochuang.machine.admin.domain.plan.CheckPlan;
import com.xinbochuang.machine.admin.dto.PlanListDto;
import com.xinbochuang.machine.common.domain.TableDataInfo;

import java.util.List;

/**
 * @author 黄晓鹏
 * @date 2020-09-10 16:48
 */
public interface ICheckPlanService extends IService<CheckPlan> {

    /**
     * 获取计划列表(废弃)
     *
     * @param checkPlan 计划对象
     * @return 计划集合
     */
    TableDataInfo selectPlanList(CheckPlan checkPlan);


    /**
     * 获取计划列表
     */
    List<PlanListDto> selectPlanRoomList(CheckPlan checkPlan);

    /**
     * 获取计划下机房列表
     */
    List<PlanListDto> planMacRoomList(CheckPlan checkPlan);

    /**
     * 获取计划下机房列表数量
     */
    Integer planMacRoomCount(CheckPlan CheckPlan);

    /**
     * 获取计划分页数量
     */
    Integer selectTotalCount(CheckPlan checkPlan);

    /**
     * 添加核查计划
     *
     * @param checkPlan 核查计划对象
     * @return 是否成功
     */
    boolean addPlan(CheckPlan checkPlan);

    /**
     * 修改核查计划
     *
     * @param checkPlan 计划对象
     * @return 是否成功
     */
    boolean updatePlan(CheckPlan checkPlan);

    /**
     * 删除核查计划
     *
     * @param uuid 计划id
     * @return 是否成功
     */
    boolean deletePlan(String uuid);

    TableDataInfo selectPlanListByApp(CheckPlan checkPlan);

    /**
     * 盘点总进度
     *
     * @return 结果
     */
    Double selectPlanCount();
}
